#ifndef GLOBALS_H
#define GLOBALS_H

#define PI 3.14159265
#define BNONE 0
#define BLEFT 1
#define BMIDDLE 2
#define BRIGHT 3

#define MAXROWS 10
#define MAXCOLS 10
#define RED 0
#define BLUE 1

#define FLAG 0
#define SPY 1
#define SCOUT 2
#define MINER 3
#define SERGEANT 4
#define LIEUTENANT 5
#define CAPTAIN 6
#define MAJOR 7
#define COLONEL 8
#define GENERAL 9
#define MARSHAL 10
#define BOMB 11

//Status Codes
#define SETUP 0
#define UNDECIDED 1
#define P1WON 2
#define P2WON 3
#define STALEMATE 4

#include <cstdlib>
#include <vector>
#include <set>
#include <GL/glut.h>
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
using namespace std;
#include <cmath>

#include "SOIL.h"

GLfloat eye[3], lookAt[3] = {0,0,0};
GLuint boardText, pieceTexts[12], flagTexts[2], menuText, mainWindow, menuWindow, gameWindow;

vector<vector<int> > potMoves;
int width = 900, height = 600, eyeDist = 130, curCell[2] = {0,0}, numLakeCells = 8, focusedPiece = -1, selectedPiece = -1, whichButtonDown = BNONE, currentTeam, stage = 0;
float degXZ = 176.0, degYZ = 40.0, cellCoords[12][24][3], automove_coords[2][2], step = .1;
bool automoving = false, autoattacking = false;

GLfloat light_posit[2][4] = {{45, 50, -25, 0.0},{50,30.0,50,0.0}};
GLfloat light_point[2][4] = {{0.0,-1.0,0.0},{0.0,-1.0,0.0}};
GLfloat	light_ambient[2][4] = {{0.1, 0.1, 0.1, 1.0},{0.4, 0.4, 0.4, 1.0}};
GLfloat	light_diffuse[2][4] = {{1.0, 1.0, 1.0, 1.0},{.25, 0.5, 0.0, 1.0}};
GLfloat	light_specular[2][4] = {{1.0, 1.0, 1.0, 1.0},{1.0, 1.0, 1.0, 1.0}};

GLfloat mat_ambient[4] = {0.4, 0.4, 0.4, 1.0};
GLfloat	mat_diffuse[4] = {.5, .5, .5, 1.0};
GLfloat	mat_specular[4] = {1.0, 1.0, 1.0, 1.0};
GLfloat	mat_shine = 30;
	
int defeat_types[12][12] = {{0,0,0,0,0,0,0,0,0,0,0,0},
			    {3,2,0,0,0,0,0,0,0,0,1,0},
			    {3,1,2,0,0,0,0,0,0,0,0,0},
			    {3,1,1,2,0,0,0,0,0,0,0,1},
			    {3,1,1,1,2,0,0,0,0,0,0,0},
			    {3,1,1,1,1,2,0,0,0,0,0,0},
			    {3,1,1,1,1,1,2,0,0,0,0,0},
			    {3,1,1,1,1,1,1,2,0,0,0,0},
			    {3,1,1,1,1,1,1,1,2,0,0,0},
			    {3,1,1,1,1,1,1,1,1,2,0,0},
			    {3,1,1,1,1,1,1,1,1,1,2,0},
			    {0,0,0,0,0,0,0,0,0,0,0,0}};

int piece_totals[12] = {1,1,8,5,4,4,4,3,2,1,1,6};
int lake_cells[8][2] = {{2,4},{2,5},{3,4},{3,5},{6,4},{6,5},{7,4},{7,5}};

						
#endif







